package org.abac4j.el;

import java.lang.reflect.Method;
import java.util.Map;

import javax.el.FunctionMapper;
import javax.el.VariableMapper;

import org.jboss.el.lang.EvaluationContext;


public interface ExpressionLanguageService {
	
	public FunctionMapper buildFunctionMapper(Map<String, Method> functionMethodMap);
	
	public VariableMapper buildVariableMapper(Map<String, Object> attributeMap);
	
	public EvaluationContext buildEvaluationContext(Map<String, Method> functionMethodMap,Map<String, Object> attributeMap);
	
	public Boolean evaluateBooleanExpression(EvaluationContext elContext, String expression);

}
